---
title: clsLegalCaseCollection
summary: Loads and manages the legal cases associated with a claim.
status: draft
owner: SAIF Case Management team
last_reviewed: 2026-08-21
library: SAIF.Business.Claim.Legal
reference_type: embedded
---

# clsLegalCaseCollection

`clsLegalCaseCollection` retrieves `clsLegalCase` rows for a claim through the framework data portal and the `Pk80001_Legalnet.getLegalCase` stored procedure. It materializes each result-set row as a business object and adds collection helpers for keyed lookup, membership tests, removal, and predicate-based filtering.

## Purpose

- Load the legal-case rows associated with a claim by calling `Pk80001_Legalnet.getLegalCase` with the claim ID criteria.
- Wrap each returned row in `clsLegalCase` so callers work with business objects instead of raw result-set data.
- Provide collection helpers for lookup, membership, removal, and filtered subsetting in claim-scoped legal-case workflows.

## Context
- Namespace: `SAIF.Business.Claim.Legal`
- Assembly/package: `SAIF.Business.Claim.Legal`

## Public members

| Member | Kind | Type/return type | Purpose |
| --- | --- | --- | --- |
| Item(Index) | Default read-only property | `clsLegalCase` | Returns the case at the specified collection position. |
| Item(inClaimID) | Default read-only property | `clsLegalCase` | Returns the first loaded case whose `ClaimID` matches the supplied claim. |
| CurrentItem | Read-only property | `clsLegalCase` | Returns the current item tracked by the base collection cursor. |
| BeforeRetrieve(inPortalRequest) | Protected override method | `Sub` | Configures the portal request to call `Pk80001_Legalnet.getLegalCase` for the current claim and return a result set. |
| AfterRetrieve(inPortalRequest) | Protected override method | `IBusinessObject` | Loads each result-set row into a `clsLegalCase` instance, adds it to the collection, and returns the populated collection. |
| Add(inclsLegalCase) | Method | `Integer` | Adds a `clsLegalCase` instance to the active collection list. |
| Contains(inclsLegalCase) | Method | `Boolean` | Checks whether the active collection already contains the supplied legal-case object. |
| Contains(inClaimID) | Method | `Boolean` | Checks whether the active collection contains a case for the supplied claim ID. |
| ContainsDeleted(inclsLegalCase) | Method | `Boolean` | Checks whether the deleted-item list contains the supplied legal-case object. |
| ContainsDeleted(inClaimID) | Method | `Boolean` | Checks whether the deleted-item list contains an entry for the supplied claim identifier. |
| Remove(inclsLegalCase) | Method | `Sub` | Removes the supplied legal-case object from the active collection list. |
| Remove(inLegalCaseID) | Method | `Sub` | Removes the first active item whose `LegalCaseID` matches the supplied key. |
| Where(match) | Method | `clsLegalCaseCollection` | Returns a filtered collection using the supplied predicate over the current list. |
| New() | Protected constructor | `—` | Initializes a managed collection that allows editing, removal, sorting, and find operations. |
| NewLegalCaseCollection(inDataportal, inClaimID) | Shared method | `clsLegalCaseCollection` | Creates a new claim-scoped collection instance through the data portal's create lifecycle. |
| GetLegalCaseCollection(inDataportal, inClaimID) | Shared method | `clsLegalCaseCollection` | Retrieves the existing legal cases for a claim through the data portal's retrieve lifecycle. |

## Sources

- `SAIF.Business.Claim.Legal\clsLegalCaseCollection.vb`
